<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]">
	<title>Combined Platform Text and JDT Text Component 3.3 Plan</title>

	<!--
	<style>
		body {  
			background-image: url('../images/proposal.gif');
			background-repeat: repeat-y
		}
	</style>
	-->
	
	 <style type="text/css">
  		committed {
  			color: blue;
  			font-style: italic;
  		}
	</style>	
	
</head>

<body text="#000000" bgcolor="#FFFFFF">

<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >

  <tr> 
    <td WIDTH="100%"> 
    <p>Last revised 12:44 CEST June 11, 2007</p>

    
      <p>This plan is under continuous refinement. Please send comments about this draft plan to the <a href="mailto:platform-text@eclipse.org">platform-text@eclipse.org</a> developer mailing list.</p>
      <h2><a NAME="Overall_Planning"></a>Overall Goals </h2>
      <p>This section lists the goals for Eclipse 3.3 for the Platform 
        Text and the JDT Text component as listed on the 
        <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_3.html">Eclipse Project Draft 3.3 Plan</a>.
        </p>


		<p>
		<strong>Keep the performance</strong>.
		Continue to monitor overall performance and memory consumption. This includes the addition of new performance tests for new features. [Scaling Up, Enterprise Ready][all] 
		</p>
		
		<p>
		<strong>More text editor productivity features</strong>.
		Provide some long awaited productivity features like double-click-drag to select multiple words, triple-click, extensible hyperlink support and spell checking. Some of the items depend on support from Platform UI and Platform SWT [Platform Text, Platform UI, Platform SWT]
		</p>

		<p>
		<strong>Drive quick navigation support to the next level</strong>.
		Use the new SWT custom rendering support to show the items as links, show additional info (e.g. Javadoc), allow to open Quick views from everywhere (e.g. from the Package Explorer or Outline view) and eventually offer a context menu (investigation item). [JDT Text]
		</p>



	<h2><a NAME="Work_Items"></a><br>Work Items</h2>
	<p>
		This section defines the <committed>committed</committed> and proposed work items for Eclipse 3.3 for
		the Platform Text and the JDT Text component.
	</p>


	<h3>Platform Text</h3>
	<ul>

	<li><h4><img src="../images/ok.gif" border="0" height="10" width="10"> Live Annotate</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>support to color by age in addition to color by contributor (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=147705">bug 147705</a>)</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>fix hover sizing problems (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=147709">bug 147709</a>)</committed></li>
		<li>allow the text (user, revision, ...) in the live annotate ruler to become a hyperlink on demand</li>
	</ul></li>
	
	<li><h4>Hyperlinking</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>allow to contribute (extension-point) and configure hyperlinking (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=88293">bug 88293</a>)</committed></li>
		<li>allow to present more than one hyperlink target for a given text range</li>
	</ul></li>
	
	<li><h4><img src="../images/ok.gif" border="0" height="10" width="10"> Vertical Rulers</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>vertical ruler column extension point (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=25793">bug 25793</a>)</committed></li>
		<ul>
			<li><committed>allow contributions for a certain editor (id)</committed></li>
			<li><committed>allow contributions for a content type</committed></li>
			<li><committed>allow contributions for a certain editor hierarchy (class)</committed></li>
		</ul></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> provide toolkit for line-based information (good for coverage information etc.)
			<br>&rArr; the <code>AbstractRulerColumn</code> base class for line-based rulers has been added
		</li>
	</ul></li>

	<li><h4>Spell Checking in Text Editors</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>spelling for text editors</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> make the JDT spell check engine encoding aware</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> provide an English dictionary out of the box</li>
		<li><font class="indexsub" color="#8080ff">[&gt;3.3]</font> push down text spelling engine from JDT Text to Platform Text</li>
		<li>allow specific editors to install filters, e.g. to filter Javadoc tags</li>
		<li>open up spell checking for other language stems</li>
		<li>allow to spell-check a set of resources</li>
	</ul></li>

	<li><h4>Rich Hovers [experimental]</h4>
	<ul>
		<li>links support in hovers so that you can navigate to things from there</li>
		<li>to do this we might first need to finish/cleanup the roll-over annotation work that was kicked off during 3.0
		<li>investigate better interaction for making hovers sticky (mouse path)</li>
		<li>allow seamless transition from hover &gt; sticky hover &gt; javadoc view</li>
		<li>investigate to use hovers as affordance for context sensitive actions (quick assist/fix, surround with...)</li>
	</ul></li>

	<li><h4>Typing</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>Insert Spaces for Tabs preference for text editors</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>Smart Home/End preference for text editors</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>triple-click support (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=14654">bug 14654</a> - depends on SWT, see <del><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23614">bug 23614</a></del>)</committed>
				<br>&rArr; by the end of M6 SWT decided to provide this directly in <code>StyledText</code> during M7 as it would be very hard to implement triple-click + mouse move to select multiple lines on top of it
		</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>warn if the user types into a derived file (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=148931">bug 148931</a>)</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> text drag and drop (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11624">bug 11624</a></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> show invisible characters (look at the provided patch) [experimental]</li>
		<li>add ability to join lines</li>
		<li>Last Edit Position history</li>
		<li>restore editor selection on restart (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=124615">bug 124615</a>, depends on Platform UI <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44295">bug 44295</a>).</li>
	</ul></li>

	<li><h4>Navigation</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>provide correct double-click + drag to select words (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5138">bug 5138</a> - depends on SWT, see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=138579">bug 138579</a>)</committed></li>
		<li>provide modifier + mouse wheel support, e.g. allow to
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>scroll by page</committed></li>
			<li>change font size</li>
			<li>navigate in the history</li>
			<li>make above features configurable</li>
		</ul></li>
		<li>ability to configure the annotation presentation layer via UI</li>
	</ul></li>
	
	<li><h4>Find/Replace</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>improve Find/Replace dialog: make it resizable</committed></li>
		<li>find a solution to Find/Replace line breaks, tabs, etc. in regular expressions</li>
		<li>improve Find/Replace dialog: merge into editor area, ...</li>
	</ul></li>
	
	<li><h4>Miscellaneous</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>open up file buffers to URIs</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> add support for <code>ISaveableModelSource</code> (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=131068">bug 131068</a>)</li>
		<li>revisit the text viewer's support for redraw, compound updates, and selection preservation
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>check all setRedraw(on/off) users whether they really need that expensive operation (e.g. undo!)</committed></li>
			<li>separate selection preservation from redraw and compound command</li>
		</ul></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> provide save a hook (maybe try out in JDT land first) [experimental]
			<br>&rArr; JDT Text internally it is now possible to register save participants. This is used to do code clean up on save. There are currently no plans to push this to Platform Text.</li>
		</li>
		<li>push more JDT quick assist support to Platform Text (e.g. how to show the quick assists and their preview)</li>
		<li>quick assist extension point</li>
		<li>support styles (bold, italic) in text editor</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>push down F2 (Show Tooltip Description) feature for hovers to Platform Text</committed>
		<li>provide multi-clipboard for text editors (emacs-style, rolling)</li>
	</ul></li>

	</ul>


    <h3>JDT Text</h3>
	<ul>
	
	<li><h4>Content Assist</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>fix multi-monitor problems</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>automatically add imports (depends on JDT Core <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44984">bug 44984</a>)</committed></li>
		<li>enable navigation key bindings in proposal list (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=140550">bug 140550</a>)</li>
		<li>indicate match in proposal list</li>
		<li><font class="indexsub" color="#8080ff">[&gt;3.3]</font> <img src="../images/progress.gif" border="0" height="5" width="14" align="absmiddle"> improve handling of constructor proposals(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=6930">bug 6930</a>)</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> code assist for declarations (JDT Core, see JDT Summit document)</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>code assist for references that require static imports (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=152123">bug 152123</a>)<committed></li>
	</ul></li>
	
	<li><h4>Syntax Highlighting</h4>
	<ul>
		<li>provide import/export</li>
		<li>add coloring schemes and allow to switch them via toolbar</li>
	</ul></li>
	
	<li><h4>Quick views</h4>
	<ul>
		<li><committed>allow to open Quick Hierarchy on any Java element from any view (e.g. from the Package Explorer or Outline view)</committed></li>
		<li><font class="indexsub" color="#8080ff">[&gt;3.3]</font> <committed>show additional info (e.g. Javadoc)</committed></li>
		<li>context menu on its items [experimental]</li>
	</ul></li>

	<li><h4>Declarations and Javadoc view and sticky Javadoc hover</h4>
	<ul>
		<li>allow to pin (in Javadoc view)</li>
		<li>support to follow links (relative URLs, @see, @link,...)</li>
		<li>support navigation and history support</li>
		<li>Declaration and Javadoc view should allow to navigate to other members in hierarchy (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=82709">bug 82709</a>)</li>
	</ul></li>
	  
	<li><h4>Outline and Members view</h4>
	<ul>
		<li>show categories as nodes</li>
		<li>show properties as nodes (group getter/setter/field) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=26618">bug 26618</a>)</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> drag-and-drop when unsorted (drop between elements)</li>
	</ul>
	  
	<li><h4>Typing</h4>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>solve segmented mode toolbar button usability problem</committed> (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72354">bug 72354</a>)</li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>typed templates: template variables with parameters (e.g. Java type names)</committed>
		<li>goto declaring type:
		<br>F3 + Ctrl+Click go to the declaration - often going to the declared type is desired, see also <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68144">bug 68144</a></li>
		<li>permanent local rename mode [experimental]
		<ul>
			<li>editing always updates like "Local Rename" (automatically enter linked mode)</li>
			<li>investigate interplay with "refactoring only" mode</li>
		</ul></li>
	</li></ul>

	<li><h4>NLS Tooling</h4>
	<ul>
		<li>better support for Java properties files (<code>native2ascii</code> conversion)</li>
	</li></ul>

	</ul>


    <h3>General Items</h3>
	<ul>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>3.2.x maintenance work</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>switch to new <code>Assert</code> class from Platform (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=135136">bug 135136</a>)</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>adopt ICU Collator and use new APIs on StructuredViewer (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=135136">bug 157093</a>)</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>move web site from CVS to www</committed></li>
		<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>convert web site to phoenix</committed></li>
		<li>allow to get a graphical view of our performance tests i.e. fingerprint for all text tests</li>
		<li>solve outstanding accessibilty problems</li>
	</ul>
	
	</ul>



	<h2><br>Cross Team Issues</h2>
	<p>This section contains cross team issues that have to be clarified. The 
	concrete outcome affects the plan items listed above.</p>
	<ul>
		<li>Platform SWT
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> triple-click support (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=14654">bug 14654</a> - depends on SWT, see <del><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=23614">bug 23614</a></del>)</li>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> provide correct 1&frac12 click + drag to select words (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=5138">bug 5138</a> - depends on SWT, see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=138579">bug 138579</a>)</li>
  			<li><img src="../images/ok.gif" border="0" height="10" width="10"> text drag and drop issues (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=11624">bug 11624</a> depends on SWT - we need fixes for emerging problems, e.g. <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=169534">bug 169534</a>)</li>
		</ul></li>

		<li>Platform UI
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> we need <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44295">bug 44295</a> fixed in order to support restoring of editor selection on restart (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=124615">bug 124615</a>)</li>
		</ul></li>

		<li>JDT Core
		<ul>
			<li><img src="../images/ok.gif" border="0" height="10" width="10"> <committed>automatically add imports (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44984">bug 44984</a>)</committed></li>
		</ul></li>

	</ul>
	</td>
</tr>



<tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF"><a name="Milestone_Planning">RC1 - RC4</font></font></td>
</tr>

  <tr> 
    <td WIDTH="100%"> 
	<p>
	Work towards R3.3 will be done according to the <a href="http://www.eclipse.org/eclipse/development/freeze_plan_3.3.html">end game plan</a>.
	<p>
	The 3.3 two day test pass on RC1 can be found <a href="testing/3.3_two_day_test_pass.html">here</a>.</li>
	</p>

	<h4><img src="http://www.eclipse.org/images/Adarrow.gif" border="0" height="16" width="16" align="top"> Permanent items</h4>
	<ul>
		<li>bugzilla inbox tracking</li>
		<li>bug fixing</li>
		<li>watch performance tests</li>
		<li>increase correctness test coverage</li>
	</ul>
	
	<h4><img src="http://www.eclipse.org/images/Adarrow.gif" border="0" height="16" width="16" align="top"> Absences</h4>
	<ul>
		<li>3 days vacation</li>
		<li>2 public holidays</li>
	</ul>
      
	<h3>Previous Milestones</h3>
	<p>Previous 3.3 milestones can be reviewed <a href="previous_plans.php">here</a>.</p>
	</td>
</tr>


  <tr> 
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Bug Tracking</font></font></td>
</tr>

<tr>
<td>
<ul>
<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=inbox&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=400d&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">new bug reports</a></li>
<li><a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">accepted Platform Text bug reports</a></li>
<li><a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=jdt-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=JDT&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">accepted JDT Text bug reports</a></li>
<li><a href="https://bugs.eclipse.org/bugs/query.cgi?short_desc_type=allwordssubstr&short_desc=&product=JDT&product=Platform&component=Text&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&namedcmd=Assigned&newqueryname=&field0-0-0=noop&type0-0-0=noop&value0-0-0=">find a bug report</a></li>
</ul>
</td>
</tr>
</table>
<table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td colspan="4" align="left" bgcolor="#595791" valign="top" width="100%"><font face="Arial,Helvetica"><font color="#ffffff">Legend
			</font></font></td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/progress.gif" border="0" height="5" width="14" align="absmiddle"></td>
			<td width="50%">item is under development.</td>
			<td valign="top"><img src="../images/glass.gif" border="0" height="10" width="10"></td>
			<td width="50%">item is under investigation.</td>
		</tr>
		<tr>
			<td valign="center"><img src="../images/ok.gif" border="0" height="10" width="10"></td>
			<td width="50%">item is finished.</td>
			<td valign="top">( )</td>
			<td width="50%">item is time permitted.</td>
		</tr>
		<tr>
			<td valign="center"><font class="indexsub" color="#8080ff">[xyz]</font></td>
			<td width="50%">item is deferred (&gt;) from xyz or continues in xyz.</td>
			<td valign="center"><font class="indexsub"><img src="../images/new.gif" border="0"></font></td>
			<td width="50%">new</td>
		</tr>
	</tbody>
</table>

<br>&nbsp;
</body>
</html>
